unit CadastroTipoDocumento;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UFomCadastro, StdCtrls, Buttons, ExtCtrls, DB, DBTables, Mask,
  DBCtrls, DBClient, Provider, Menus, ComCtrls, Grids, DBGrids, ToolEdit,
  CurrEdit, RXDBCtrl;

type
  TFCadastroTipoDocumento = class(TFormCadastro)
    Label14: TLabel;
    Label1: TLabel;
    DBENome: TDBEdit;
    DBChBCheque: TDBCheckBox;
    RxDBCalcEdit1: TRxDBCalcEdit;
    cbCartao: TDBCheckBox;
    cdsCadastroTIPO_DOC_CODIGO: TIntegerField;
    cdsCadastroTIPO_DOC_DESCRICAO: TStringField;
    cdsCadastroDATAMODIFICACAO: TDateTimeField;
    cdsCadastroUSUARIO: TStringField;
    cdsCadastroCODIGOOLD: TIntegerField;
    cdsCadastroTIPO_DOC_CHEQUE: TIntegerField;
    cdsCadastroUSUARIO_CADASTRO: TStringField;
    cdsCadastroUSUARIO_AUTERACAO: TStringField;
    cdsCadastroUSUARIO_EXCLUSAO: TStringField;
    cdsCadastroDATA_CADASTRO: TDateTimeField;
    cdsCadastroDATA_EXCLUSAO: TDateTimeField;
    cdsCadastroDATA_AUTERACAO: TDateTimeField;
    cdsCadastroEXCLUIDO: TStringField;
    cdsCadastroUSUARIO_RECUPERACAO: TStringField;
    cdsCadastroDATA_RECUPERACAO: TDateTimeField;
    QCadastroTIPO_DOC_CODIGO: TIntegerField;
    QCadastroTIPO_DOC_DESCRICAO: TStringField;
    QCadastroDATAMODIFICACAO: TDateTimeField;
    QCadastroUSUARIO: TStringField;
    QCadastroCODIGOOLD: TIntegerField;
    QCadastroTIPO_DOC_CHEQUE: TIntegerField;
    QCadastroUSUARIO_CADASTRO: TStringField;
    QCadastroUSUARIO_AUTERACAO: TStringField;
    QCadastroUSUARIO_EXCLUSAO: TStringField;
    QCadastroDATA_CADASTRO: TDateTimeField;
    QCadastroDATA_EXCLUSAO: TDateTimeField;
    QCadastroDATA_AUTERACAO: TDateTimeField;
    QCadastroEXCLUIDO: TStringField;
    QCadastroUSUARIO_RECUPERACAO: TStringField;
    QCadastroDATA_RECUPERACAO: TDateTimeField;
    QCadastroSITUACAO_DA_REPLICACAO: TStringField;
    QCadastroCODIGOEMPRESA: TIntegerField;
    QCadastroDATA_REPLICACAO: TDateTimeField;
    QCadastroTIPO_DOC_CARTAO: TStringField;
    cdsCadastroSITUACAO_DA_REPLICACAO: TStringField;
    cdsCadastroCODIGOEMPRESA: TIntegerField;
    cdsCadastroDATA_REPLICACAO: TDateTimeField;
    cdsCadastroTIPO_DOC_CARTAO: TStringField;
    ComboBox1: TComboBox;
    Label2: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure BtnIncluirClick(Sender: TObject);
    procedure BtnEditarClick(Sender: TObject);
    procedure BtnExcluirClick(Sender: TObject);
    procedure BtnSalvarClick(Sender: TObject);
    procedure QTipoDocumentoBeforePost(DataSet: TDataSet);
    procedure QTipoDocumentoAfterPost(DataSet: TDataSet);
    procedure QTipoDocumentoAfterCancel(DataSet: TDataSet);
    procedure QCadastroAfterInsert(DataSet: TDataSet);
    procedure QCadastroBeforePost(DataSet: TDataSet);
    procedure DBChBChequeClick(Sender: TObject);
    procedure cbCartaoClick(Sender: TObject);
  //  procedure dsCadastroDataChange(Sender: TObject; Field: TField);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FCadastroTipoDocumento: TFCadastroTipoDocumento;

implementation

uses UGeral;

{$R *.dfm}

procedure TFCadastroTipoDocumento.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
 FCadastroTipoDocumento:=nil;
  inherited;
end;

procedure TFCadastroTipoDocumento.FormCreate(Sender: TObject);
begin
  QCadastro.SQl.Clear;
  QCadastro.SQl.Add('SELECT * FROM TIPODOCUMENTO');
 inherited;
end;

procedure TFCadastroTipoDocumento.BtnIncluirClick(Sender: TObject);
begin

  inherited;
  DBENome.SetFocus;
  dsCadastro.DataSet.FieldByName('TIPO_DOC_CODIGO').AsInteger:= Retorna_Codigo_Generetor('Gen_TipoDocumento');

  dsCadastro.DataSet.FieldByName('TIPO_DOC_CHEQUE').AsString:= '0';
  dsCadastro.DataSet.FieldByName('TIPO_DOC_CARTAO').AsString:='N';

end;

procedure TFCadastroTipoDocumento.BtnEditarClick(Sender: TObject);
begin

  if DsCadastro.DataSet.IsEmpty then
   begin
    ShowMessage('Tabela esta vazia !');
    exit;
   end;

  inherited;
  DBENome.SetFocus;

end;

procedure TFCadastroTipoDocumento.BtnExcluirClick(Sender: TObject);
begin

  if MessageDlg('Deseja realmente excluir este Tipo Documento ? ',mtWarning,mbOKCancel,0) = 2 then
   exit;

  inherited;

end;

procedure TFCadastroTipoDocumento.BtnSalvarClick(Sender: TObject);
begin

  if DBENome.Text = '' then
  begin
   ShowMessage('Campo Nome tem que ser preenchido !');
   exit;
  end;
  

  if ComboBox1.ItemIndex = 0 then
     cdsCadastro.FieldByName('TIPO_PAGFOR_CODIGO').AsString:= '01';
  if ComboBox1.ItemIndex = 1 then
     cdsCadastro.FieldByName('TIPO_PAGFOR_CODIGO').AsString:= '02';
  if ComboBox1.ItemIndex = 2 then
     cdsCadastro.FieldByName('TIPO_PAGFOR_CODIGO').AsString:= '03';
  if ComboBox1.ItemIndex = 3 then
     cdsCadastro.FieldByName('TIPO_PAGFOR_CODIGO').AsString:= '04';
  if ComboBox1.ItemIndex = 4 then
     cdsCadastro.FieldByName('TIPO_PAGFOR_CODIGO').AsString:= '05';

  inherited;

end;

procedure TFCadastroTipoDocumento.QTipoDocumentoBeforePost(
  DataSet: TDataSet);
begin
  inherited;
 DataSet.FieldByName('USUARIO').AsString:=Usuario;
 DataSet.FieldByName('DATAMODIFICACAO').AsDateTime:=Date;

end;

procedure TFCadastroTipoDocumento.QTipoDocumentoAfterPost(
  DataSet: TDataSet);
begin
  inherited;
 if Inserindo then
  begin
   DataSet.Close;
   DataSet.Open;
   DataSet.Last;
  end;

end;

procedure TFCadastroTipoDocumento.QTipoDocumentoAfterCancel(
  DataSet: TDataSet);
begin
  inherited;
 if Inserindo then
  begin
   DataSet.Close;
   DataSet.Open;
  end;

end;

procedure TFCadastroTipoDocumento.QCadastroAfterInsert(DataSet: TDataSet);
begin
  inherited;
  QCadastro.FieldByName('TIPO_DOC_CHEQUE').AsInteger:=0;
end;

procedure TFCadastroTipoDocumento.QCadastroBeforePost(DataSet: TDataSet);
begin
  inherited;
  DataSet.FieldByName('USUARIO').AsString:=Usuario;
  DataSet.FieldByName('DATAMODIFICACAO').AsDateTime:=Date;
end;

procedure TFCadastroTipoDocumento.DBChBChequeClick(Sender: TObject);
begin
  inherited;

    if DBChBCheque.Checked = true and cbCartao.Checked = true then
    begin
      cbCartao.Checked:= false;
    end;

end;

procedure TFCadastroTipoDocumento.cbCartaoClick(Sender: TObject);
begin
  inherited;

  if DBChBCheque.Checked = true and cbCartao.Checked = true then
    begin
      DBChBCheque.Checked:= false;
    end;


end;

end.
